package arithmetic1.stringMatch;

/*
    字符串的暴力匹配算法
 */
public class ViolenceMatch {
    public static void main(String[] args) {
        String str1="askfdjdlkfjd";
        String str2="kfjd";
        int index=violenceMatch(str1,str2);
        System.out.println(index);
    }

    //返回str2在str1中第一次出现的索引，没有返回-1
    public static int violenceMatch(String str1,String str2){
        char[] cs1=str1.toCharArray();
        char[] cs2=str2.toCharArray();
        int index1=0;   //cs1的索引
        int index2=0;   //cs2的索引
        while (index1<cs1.length && index2<cs2.length){
            if(cs1[index1]==cs2[index2]){   //当匹配到字符相等时
                index1++;
                index2++;
            }else {
                index1=index1-index2+1;   //index1后移一位
                index2=0;   //index2回到0的位置
            }
        }
        if(index2==cs2.length){
            return index1-index2;   //返回第一次出现的索引
        }
        return -1;
    }
}
